home *** CD-ROM | disk | FTP | other *** search
/ Biodiversity of Illinois 2: Woodland Habitats / Biodiversity of Illinois 2 - Woodland Habitats.iso / mac / casts / PDFxtraBehaviors.cst / 00053_Script_PDF_GetText < prev    next >
Text File  |  2006-07-11  |  3KB  |  96 lines

  1. -- Get Text
  2.  
  3. Property pEvent, pSprite, pDestMember, pAlertFlag
  4.  
  5. on doGetText me
  6.   set the text of member pDestMember to PDF_GetText(sprite pSprite)
  7.   if PDF_status(sprite pSprite) then alert "PDF Behavior Error"&RETURN&PDF_error(sprite pSprite)
  8. end doGetText
  9.  
  10. on mouseUp me
  11.   if (pEvent = #mouseUp) then doGetText(me)
  12. end mouseUp
  13.  
  14. on mouseDown me
  15.   if (pEvent = #mouseDown) then doGetText(me)
  16. end mouseDown
  17.  
  18. -- standard behavior stuff --
  19. on getPropertyDescriptionList me
  20.   set defaultValues = GetDefaultValues (me)
  21.   
  22.   set pdfSpriteList = getProp (defaultValues, #spriteList)
  23.   set defSprite     = getProp (defaultValues, #defaultSprite)
  24.   if (defSprite=0) then 
  25.     if the ticks - pAlertFlag > 10 then
  26.       alert "Please create a sprite of type PDF first."
  27.     end if
  28.     set pAlertFlag = the ticks -- The ticks when the user clicked "OK"
  29.     
  30.     exit
  31.   end if
  32.   set defFieldMember = FindFirstMember(#field)
  33.   if (string(defFieldMember) contains "member 0") then 
  34.     alert "You need at least one member of type #field to use this behavior."
  35.     exit
  36.   end if
  37.   set p_list = [#pEvent: [ #comment: "Event", #format:#symbol, #range:[#mouseUp, #mouseDown], #default:#mouseUp], #pSprite: [ #comment: "PDF Sprite is in channel:", #format:#symbol, #range:pdfSpriteList, #default:defSprite], #pDestMember: [ #comment: "Put result in:", #format: #field, #default:defFieldMember]]
  38.   return p_list
  39. end
  40.  
  41. on getBehaviorDescription
  42.   return "Extract the text of the current page of the PDF document to the designated Director field. The retrieved words order depend on the structure of the PDF document" &RETURN& "Free to use and abuse. (c)1999, Integration New Media, Inc."  &RETURN& "Thanks to James Newton for his suggestions"
  43. end
  44.  
  45. -- utils --
  46. on GetDefaultValues me
  47.   if the currentSpriteNum then
  48.     set spriteList = GetSpriteList (me #PDF)
  49.     if count (spriteList) then
  50.       set defaultSprite = getAt (spriteList, 1)
  51.     else
  52.       set defaultSprite = 0
  53.     end if
  54.     
  55.     return [#spriteList: spriteList, #defaultSprite: defaultSprite]
  56.     
  57.   else -- the currentSpriteNum = 0
  58.     -- Director is merely recompiling this script: return dummy values
  59.     return [#spriteList: [1], #defaultSprite: 1]
  60.   end if
  61. end 
  62.  
  63.  
  64. on GetSpriteList me, memberType
  65.   -- return list of sprites of type memberType in current frame
  66.   global version
  67.   if (char 1 of version = 6) then
  68.     set maxSprite = 120
  69.   else
  70.     set maxSprite = the lastChannel
  71.   end if
  72.   
  73.   set aList=[]
  74.   
  75.   repeat with i = 1 to maxSprite
  76.     set spriteMember = the member of sprite i
  77.     -- if (string(m) contains "member 0") then next repeat -- unnecessary
  78.     if (the type of spriteMember = memberType) then -- (JN) Line break
  79.       append (aList, i)
  80.     end if
  81.   end repeat
  82.   
  83.   return aList
  84. end GetSpriteList
  85.  
  86.  
  87. on FindFirstMember t
  88.   -- Find first member of type t
  89.   repeat with c = 1 to the number of castLibs
  90.     repeat with i = 1 to the number of members of castLib c
  91.       set m = member i of castLib c
  92.       if (the type of m = t) then return m
  93.     end repeat
  94.   end repeat
  95.   return 0
  96. end FindFirstMember